Is Music Audio Processing Embarrassingly Parallel?
نویسنده
چکیده
Designing languages and systems for many-core computers is in some respects just like designing for uniprocessors. The challenge is, on the one hand, to develop an efficient organization of data, hardware, and software to accomplish the desired computation and, on the other hand, to invent a notation that is expressive and can be translated automatically to executable instructions. With many-core computers, it is far from obvious how to organize computation to run efficiently, but it seems important to think about this aspect of the problem. If nothing else, we need to have some idea of what a running program will look like so that we can begin to imagine how we might express that program in a high-level language. It is also good to know what a near-optimal program looks like in order to evaluate alternatives. Note that we routinely sacrifice execution efficiency to make programming easier. Careful assembly language programming can often yield a 3x to 10x speedup over compiled languages, but we usually forgo the extra performance to avoid the cost of developing and maintaining carefully tuned, hardwarespecific implementations. It may be that with many-core processors, we will routinely give up a factor of 100 in performance in order to simplify programming.
منابع مشابه
Implementation of the direction of arrival estimation algorithms by means of GPU-parallel processing in the Kuda environment (Research Article)
Direction-of-arrival (DOA) estimation of audio signals is critical in different areas, including electronic war, sonar, etc. The beamforming methods like Minimum Variance Distortionless Response (MVDR), Delay-and-Sum (DAS), and subspace-based Multiple Signal Classification (MUSIC) are the most known DOA estimation techniques. The mentioned methods have high computational complexity. Hence using...
متن کاملA Java/Jini Framework Supporting Stream Parallel Computations
JJPF (the Java/Jini Parallel Framework) is a framework that can run stream parallel applications on several parallel-distributed architectures. JJPF is actually a distributed execution server. It uses JINI to recruit the computational resources needed to compute parallel applications. Parallel applications can be run on JJPF provided they exploit parallelism accordingly to an arbitrary nesting ...
متن کاملCRBLASTER: A Parallel-Processing Computational Framework for Embarrassingly Parallel Image-Analysis Algorithms
The development of parallel-processing image-analysis codes is generally a challenging task that requires complicated choreography of interprocessor communications. If, however, the image-analysis algorithm is embarrassingly parallel, then the development of a parallel-processing implementation of that algorithm can be a much easier task to accomplish because, by definition, there is little nee...
متن کاملAccelerating a Software Radio Astronomy Correlator using FPGA co-processors
Introduction This poster presents and characterises our work on accelerating a software radio astronomy correlator using reconfigurable computing (RC) hardware. Radio astronomy correlation is an embarrassingly parallel signal processing application, which is used heavily in radio astronomy for imaging and other astronomical measurements. Radio astronomy correlators typically operate on huge dat...
متن کاملAdvances In The Parallelization Of Music And Audio Applications
Multi-core processors are now common but musical and audio applications that take advantage of multiple cores are rare. The most popular music software programming environments are sequential in character and provide only a modicum of support for the efficiencies to be gained from parallelization. We provide a brief summary of existing facilities in the most popular languages and provide exampl...
متن کامل